package cn.jiuxiaoer.job.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.experimental.FieldNameConstants;

import java.io.Serializable;
import java.util.Date;

/**
 * 门店商品明细表实体类
 *
 * @author wuzx
 */
@Data
@Accessors(chain = true)
@FieldNameConstants
@TableName("jxe_stock_shop_detail")
public class ShopDetail implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *  拆箱父级ID（默认0无父级）
     */
    @TableField("pid")
    private Long pid;
    /**
     * 站点id
     */
    @TableField("site_id")
    private Long siteId;
    /**
     * 门店id
     */
    @TableField("shop_id")
    private Long shopId;
    /**
     * 库位ID
     */
    @TableField("area_id")
    private Long areaId;
    /**
     * 物料ID
     */
    @TableField("material_id")
    private Long materialId;
    /**
     * 规格ID
     */
    @TableField("spec_id")
    private Long specId;
    /**
     * 规格数量
     */
    @TableField("spec_count")
    private Integer specCount;
    /**
     * 批次号
     */
    @TableField("batch_code")
    private String batchCode;
    /**
     * 生产日期
     */
    @TableField("production_date")
    private Date productionDate;
    /**
     * 有效期至
     */
    @TableField("expiry_date")
    private Date expiryDate;
    /**
     * 采购成本
     */
    @TableField("purchasing_cost")
    private Integer purchasingCost;
    /**
     * 商品状态(0：正常 1：临期 2：过期 3：损坏 4：售后退货)
     */
    @TableField("goods_status")
    private Integer goodsStatus;
    /**
     * 库存状态(0：未出库 1：已锁定 2：已出库 3：已拆箱 4：禁售)
     */
    @TableField("store_status")
    private Integer storeStatus;
    /**
     * 入库单号
     */
    @TableField("warehousing_no")
    private String warehousingNo;
    /**
     * 入库关联单号
     */
    @TableField("into_no")
    private String intoNo;
    /**
     * 入库类型(0：请购入库 1：调拔入库 2：盘盈入库 3：客户退货 4：返还入库)
     */
    @TableField("into_type")
    private Integer intoType;
    /**
     * 移入时间
     */
    @TableField("into_date")
    private Date intoDate;
    /**
     * 出库单号
     */
    @TableField("delivery_no")
    private String deliveryNo;
    /**
     * 出库关联单号
     */
    @TableField("out_no")
    private String outNo;
    /**
     * 出库类型(0：销售单 1：调拔单 2：其它出库单)
     */
    @TableField("out_type")
    private Integer outType;
    /**
     * 出库时间
     */
    @TableField("out_date")
    private Date outDate;
    /**
     * 锁定关联单号
     */
    @TableField("lock_no")
    private String lockNo;
    /**
     * 锁定类型(0：销售单 1：调拔单 2：其它出库单)
     */
    @TableField("lock_type")
    private Integer lockType;
    /**
     * 锁定时间
     */
    @TableField("lock_date")
    private Date lockDate;
    @TableId
    private Long id;

    @TableField(fill = FieldFill.INSERT)
    private Date createdDate;

    @TableField(fill = FieldFill.INSERT)
    private String createdBy;

    @TableField(fill = FieldFill.INSERT)
    private String createdName;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date lastModifiedDate;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String lastModifiedBy;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String lastModifiedName;

    @TableField(fill = FieldFill.INSERT)

    @TableLogic(value = "0", delval = "1")
    private Boolean deleted;
}